﻿Public Class frmPerfil

    Private Sub frmPerfil_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
        frmprofile = False
    End Sub

    Private Sub frmPerfil_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Limitamos el maximo dia de nacimiento a HOY
        MonthCalendar1.MaxDate = Now()
        ''Pestaña Basico
        txtUsuario.Text = cU.usuLogueado
        txtNombre.Text = cU.nomLogueado
        txtPaterno.Text = cU.patLogueado
        txtMaterno.Text = cU.matLogueado
        txtDni.Text = cU.dniLogueado
        txtNacimiento.Text = cU.nacLogueado
        ''Pestaña Avanzado
        If (cU.sexLogueado = 1) Then
            rbHombre.Checked = True
        ElseIf (cU.sexLogueado = 0) Then
            rbMujer.Checked = True
        End If
        txtEmail.Text = cU.emaLogueado
        txtDireccion.Text = cU.dirLogueado
        txtFijo.Text = cU.fijLogueado
        txtMovil.Text = cU.movLogueado
        ''Pestaña Contraseña
        'txtContraseñaActual.Text = cU.conLogueado 'No debe de cargarse, la linea de codigo simplemente es referencial
    End Sub

    Private Sub TabPage1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles pstBasico.Click

    End Sub

    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click

    End Sub

    Private Sub TextBox5_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

    End Sub

    Private Sub Label5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label5.Click

    End Sub

    Private Sub btnAgregarFechaCU_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAgregarFechaB.Click
        txtNacimiento.Text = MonthCalendar1.SelectionStart.Date()
    End Sub

    Private Sub btnActualizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnActualizar.Click
        ''Datos de la sesion
        cU.usuarioUsuario = cU.usuLogueado
        ''Datos del Formulario: Perfil->Basico
        cU.nombreUsuario = LTrim(txtNombre.Text) 'Quitar espacios de la izquierda
        cU.apepaternoUsuario = LTrim(txtPaterno.Text) 'Quitar espacios de la izquierda
        cU.apematernoUsuario = LTrim(txtMaterno.Text) 'Quitar espacios de la izquierda
        cU.dniUsuario = LTrim(txtDni.Text) 'Quitar espacios de la izquierda
        cU.fecnacimientoUsuario = MonthCalendar1.SelectionStart.Date().ToString("yyyy-MM-dd")
        ''Datos para Auditoria
        cU.campoAuditoria = "Nombres | Apellido Paterno | Apellido Materno | Dni | Fecha de Nacimiento"
        cU.valantiguoAuditoria = cU.nomLogueado + " | " + cU.patLogueado + " | " + cU.matLogueado + " | " + cU.dniLogueado + " | " + cU.nacLogueado
        cU.valnuevoAuditoria = cU.nombreUsuario + " | " + cU.apepaternoUsuario + " | " + cU.apematernoUsuario + " | " + cU.dniUsuario + " | " + cU.fecnacimientoUsuario
        ''Validamos el ancho del campo DNI 
        If (txtDni.Text.Length <> 8) Then
            MsgBox("El campo DNI debe tener 8 digitos")
        ElseIf (cU.mtdModificarPerfilBasico() = True) Then ''Ejecutamos el metodo...
            ''Actualizamos los datos de la sesion
            cU.nomLogueado = txtNombre.Text
            cU.patLogueado = txtPaterno.Text
            cU.matLogueado = txtMaterno.Text
            cU.dniLogueado = txtDni.Text
            cU.nacLogueado = txtNacimiento.Text
            ''Hacemos saber al usuario que los datos han sido actualizados.
            MsgBox("Sus datos han sido actualizados.")
        End If
    End Sub

    Private Sub btnGuardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGuardar.Click
        ''Datos de la sesion
        cU.usuarioUsuario = cU.usuLogueado
        ''Datos del Formulario: Perfil->Avanzado
        If (rbHombre.Checked = True) Then
            cU.sexoUsuario = 1
        ElseIf (rbMujer.Checked = True) Then
            cU.sexoUsuario = 0
        End If
        cU.emailUsuario = txtEmail.Text
        cU.direccionUsuario = txtDireccion.Text
        cU.telfijoUsuario = txtFijo.Text
        cU.telmovilUsuario = txtMovil.Text
        ''Datos para Auditoria
        cU.campoAuditoria = "Sexo | Correo | Direccion | Telefono Fijo | Telefono Movil"
        cU.valantiguoAuditoria = CStr(cU.sexLogueado) + " | " + cU.emaLogueado + " | " + cU.dirLogueado + " | " + cU.fijLogueado + " | " + cU.movLogueado
        cU.valnuevoAuditoria = CStr(cU.sexoUsuario) + " | " + cU.emailUsuario + " | " + cU.direccionUsuario + " | " + cU.telfijoUsuario + " | " + cU.telmovilUsuario
        ''Ejecutamos el metodo
        If (cU.mtdModificarPerfilAvanzado() = True) Then
            ''Actualizamos los datos de la sesion
            If (rbHombre.Checked = True) Then
                cU.sexLogueado = 1
            ElseIf (rbMujer.Checked = True) Then
                cU.sexLogueado = 0
            End If
            cU.emaLogueado = txtEmail.Text
            cU.dirLogueado = txtDireccion.Text
            cU.fijLogueado = txtFijo.Text
            cU.movLogueado = txtMovil.Text
            ''Hacemos saber al usuario que los datos han sido guardados.
            MsgBox("Sus datos han sido guardados.")
        End If
    End Sub

    Private Sub btnCambiar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCambiar.Click
        ''Comprobamos que ningun campo este en blanco
        If ((txtContraseñaActual.Text.Length > 0) And (txtContraseñaNueva1.Text.Length > 0) And (txtContraseñaNueva2.Text.Length > 0)) Then
            ''Comprobamos que los nuevos valores de la contraseña sean iguales
            If (txtContraseñaNueva1.Text.Equals(txtContraseñaNueva2.Text)) Then
                ''Datos de la sesion
                cU.usuarioUsuario = cU.usuLogueado
                cU.contraseniaUsuario = cU.conLogueado
                ''Datos del Formulario: Perfil->Contraseña
                cU.contrasenianuevaUsuario = txtContraseñaNueva2.Text
                ''Datos para Auditoria
                cU.campoAuditoria = "Contraseña Actual | Nueva Contraseña"
                cU.valantiguoAuditoria = cU.conLogueado + " | " + ""
                cU.valnuevoAuditoria = cU.contraseniaUsuario + " | " + cU.contrasenianuevaUsuario
                ''Ejecutamos el metodo...
                If (cU.mtdModificarPerfilContraseña() = True) Then
                    ''Actualizamos los datos de la sesion
                    cU.conLogueado = txtContraseñaNueva2.Text
                    ''Hacemos saber al usuario que la contraseña ha sido cambiada.
                    MsgBox("Sus contraseña ha sido cambiada.")
                    ''Limpiamos las cajas de texto
                    txtContraseñaActual.ResetText()
                    txtContraseñaNueva1.ResetText()
                    txtContraseñaNueva2.ResetText()
                End If
            Else
                MsgBox("Los campos de nueva contraseña no coinciden.")
            End If
        Else
            MsgBox("Debe llenar todos los campos")
        End If
    End Sub

    Private Sub frmPerfil_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
        ''Volvemos flexible al contenedor de las pestañas, de esta manera crecerá con el formulario
        tabPerfil.Width = Me.Width - 10
        tabPerfil.Height = Me.Height - 32
    End Sub

    Private Sub txtNombre_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtNombre.KeyPress
        'Validacion -> Ingreso de datos SOLO LETRAS
        If Char.IsLetter(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsControl(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsSeparator(e.KeyChar) Then
            e.Handled = False
        Else
            e.Handled = True
        End If
        ''Tabulacion
        If e.KeyChar = ChrW(Keys.Enter) Then
            e.Handled = True
            SendKeys.Send("{TAB}")
        End If
    End Sub

    Private Sub txtPaterno_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtPaterno.KeyPress
        'Validacion -> Ingreso de datos SOLO LETRAS
        If Char.IsLetter(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsControl(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsSeparator(e.KeyChar) Then
            e.Handled = False
        Else
            e.Handled = True
        End If
        ''Tabulacion
        If e.KeyChar = ChrW(Keys.Enter) Then
            e.Handled = True
            SendKeys.Send("{TAB}")
        End If
    End Sub

    Private Sub txtMaterno_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtMaterno.KeyPress
        'Validacion -> Ingreso de datos SOLO LETRAS
        If Char.IsLetter(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsControl(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsSeparator(e.KeyChar) Then
            e.Handled = False
        Else
            e.Handled = True
        End If
        ''Tabulacion
        If e.KeyChar = ChrW(Keys.Enter) Then
            e.Handled = True
            SendKeys.Send("{TAB}")
        End If
    End Sub

    Private Sub txtDni_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDni.KeyPress
        'Validacion -> Ingreso de datos SOLO NUMEROS
        If Char.IsDigit(e.KeyChar) Then
            e.Handled = False
        ElseIf Char.IsControl(e.KeyChar) Then
            e.Handled = False
        Else
            e.Handled = True
        End If
        ''Tabulacion
        If e.KeyChar = ChrW(Keys.Enter) Then
            e.Handled = True
            SendKeys.Send("{TAB}")
        End If
    End Sub

    Private Sub txtEmail_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtEmail.KeyPress
        ''Validacion -> SIN espacio
        If Char.IsSeparator(e.KeyChar) Then
            e.Handled = True
        End If
        ''Tabulacion
        If e.KeyChar = ChrW(Keys.Enter) Then
            e.Handled = True
            SendKeys.Send("{TAB}")
        End If
    End Sub

    Private Sub txtFijo_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtFijo.KeyPress
        ''Validacion -> SIN espacio
        If Char.IsSeparator(e.KeyChar) Then
            e.Handled = True
        End If
        ''Tabulacion
        If e.KeyChar = ChrW(Keys.Enter) Then
            e.Handled = True
            SendKeys.Send("{TAB}")
        End If
    End Sub

    Private Sub txtMovil_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtMovil.KeyPress
        ''Validacion -> SIN espacio
        If Char.IsSeparator(e.KeyChar) Then
            e.Handled = True
        End If
        ''Tabulacion
        If e.KeyChar = ChrW(Keys.Enter) Then
            e.Handled = True
            SendKeys.Send("{TAB}")
        End If
    End Sub

    Private Sub txtContraseñaActual_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContraseñaActual.KeyPress
        If Char.IsSeparator(e.KeyChar) Then 'Validacion -> SIN espacio
            e.Handled = True
        ElseIf Char.IsDigit(e.KeyChar) Then 'Validacion -> Ingreso de datos SOLO NUMEROS
            e.Handled = False
        ElseIf Char.IsLetter(e.KeyChar) Then 'Validacion -> Ingreso de datos SOLO LETRAS
            e.Handled = False
        ElseIf Char.IsControl(e.KeyChar) Then 'Validacion -> CON delete
            e.Handled = False
        Else
            e.Handled = True
        End If
        ''Tabulacion
        If e.KeyChar = ChrW(Keys.Enter) Then
            e.Handled = True
            SendKeys.Send("{TAB}")
        End If
    End Sub

    Private Sub txtContraseñaNueva1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContraseñaNueva1.KeyPress
        If Char.IsSeparator(e.KeyChar) Then 'Validacion -> SIN espacio
            e.Handled = True
        ElseIf Char.IsDigit(e.KeyChar) Then 'Validacion -> Ingreso de datos SOLO NUMEROS
            e.Handled = False
        ElseIf Char.IsLetter(e.KeyChar) Then 'Validacion -> Ingreso de datos SOLO LETRAS
            e.Handled = False
        ElseIf Char.IsControl(e.KeyChar) Then 'Validacion -> CON delete
            e.Handled = False
        Else
            e.Handled = True
        End If
        ''Tabulacion
        If e.KeyChar = ChrW(Keys.Enter) Then
            e.Handled = True
            SendKeys.Send("{TAB}")
        End If
    End Sub

    Private Sub txtContraseñaNueva2_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtContraseñaNueva2.KeyPress
        If Char.IsSeparator(e.KeyChar) Then 'Validacion -> SIN espacio
            e.Handled = True
        ElseIf Char.IsDigit(e.KeyChar) Then 'Validacion -> Ingreso de datos SOLO NUMEROS
            e.Handled = False
        ElseIf Char.IsLetter(e.KeyChar) Then 'Validacion -> Ingreso de datos SOLO LETRAS
            e.Handled = False
        ElseIf Char.IsControl(e.KeyChar) Then 'Validacion -> CON delete
            e.Handled = False
        Else
            e.Handled = True
        End If
        ''Tabulacion
        If e.KeyChar = ChrW(Keys.Enter) Then
            e.Handled = True
            SendKeys.Send("{TAB}")
        End If
    End Sub

    Private Sub txtDireccion_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtDireccion.KeyPress
        ''Tabulacion
        If e.KeyChar = ChrW(Keys.Enter) Then
            e.Handled = True
            SendKeys.Send("{TAB}")
        End If
    End Sub
End Class